package com.xjrsoft.module.workflow.vo;

import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.xjrsoft.module.base.vo.UserVo;
import io.swagger.annotations.ApiModel;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

@Data
@ApiModel(value = "流程任务VO", description = "流程任务VO")
public class TaskVo implements Serializable {
    @JsonProperty("taskId")
    private String taskId;

    @JsonProperty("rev")
    private Integer rev;

    @JsonProperty("executionId")
    private String executionId;

    @JsonProperty("processInstanceId")
    private String processInstanceId;

    @JsonProperty("processDefinitionId")
    private String processDefinitionId;

    @JsonProperty(value = "taskDefId")
    private String taskDefId;

    @JsonProperty(value = "taskName")
    private String taskName;

    @JsonProperty(value = "parentTaskId")
    private String parentTaskId;

    @JsonProperty(value = "taskDefKey")
    private String taskDefKey;

    @JsonProperty("assignee")
    private String assignee;

    @JsonProperty("priority")
    private Integer priority;

    @JsonProperty("createTime")
    private Date createTime;

    @JsonProperty("endTime")
    private Date endTime;

    @JsonProperty("formKey")
    private String formKey;

    @JsonProperty("deploymentId")
    private String deploymentId;

    @JsonProperty("schemeName")
    private String schemeName;

    @JsonProperty("startUser")
    private String startUser;

    @JsonProperty("startActId")
    private String startActId;

    @JsonProperty("endActId")
    private String endActId;

    @JsonProperty("procDefVersion")
    private Integer procDefVersion;

    @JsonProperty("processDefinitionKey")
    private String processDefinitionKey;

    @JsonProperty("btnName")
    private String btnName;

    @JsonProperty("formFieldObj")
    private JSONObject formFieldObj;

    @JsonProperty("candidateUsers")
    private List<UserVo> candidateUsers;

    @JsonProperty("serialNumber")
    private String serialNumber;

    @JsonProperty("isSuspended")
    private Integer suspended;

    @JsonProperty("suspendedCause")
    private String suspendedCause;

    @JsonProperty("readState")
    private Integer readState;

    @JsonProperty("currentProgress")
    private String currentProgress;

    private static final long serialVersionUID = 1L;

}